SyntaxError:意外的标记{在jesttesting期间加载节点模块时
我正在运行一个依赖于“ant”节点模块的笑话testing
这似乎是不能正确parsing的atnd模块内的CSS文件。 我该如何解决这个问题?
当我运行它失败,如下所示:
C:\path\to\project\node_modules\antd\lib\style\index.css:10 html { ^ SyntaxError: Unexpected token { at transformAndBuildScript (node_modules\jest-cli\node_modules\jest-runtime\build\transform.js:316:10) at Object.<anonymous> (node_modules\antd\lib\switch\style\css.js:3:1)
我的babelrc如下:
{ "presets": [ "react", "es2015-loose", "stage-0" ], "plugins": [ "babel-root-slash-import", "transform-decorators-legacy", "react-hot-loader/babel", "transform-runtime", ["import", [{"libraryName": "antd", "style" : true}]] ], "compact": true, "ignore": [ "/node_modules/(?!react-number-input)" ] }
jest.json
{ "setupTestFrameworkScriptFile": "<rootDir>/jasmine-setup-env.js", "bail": false, "collectCoverage": true, "collectCoverageFrom": [ "**/src/**/*.js", "!**/node_modules/**" ], "coverageDirectory": "coverage", "coveragePathIgnorePatterns": [ "<rootDir>/node_modules" ], "coverageThreshold": { "global": { "branches": 20, "functions": 15, "lines": 20, "statements": 20 } }, "globals": { "SOURCEMAP": true }, "modulePaths": [ "<rootDir>/src", "<rootDir>/sass", "<rootDir>/public", "<rootDir>/node_modules", "<rootDir>/config" ], "resetModules": true, "testPathDirs": [ "<rootDir>/test/util" ], "testRegex": "(/test/.*|\\.(test|spec))\\.(js|jsx)$", "verbose": false, "unmockedModulePathPatterns": [ "<rootDir>/node_modules/" ] }
js文件jasmine-setup-env只添加了茉莉花记者和开关的笑话酶
我的webpackconfiguration包含以下内容:
const webpack = require('webpack'); var path = require('path'); module.exports = { entry: [ './src/main' ], output: { path: './public', filename: 'bundle.js' }, module: { // in loaders you set the plugins to use when loading specific fle extensions loaders: [ { // any js files should be loaded by babel test: /\.js$/, exclude: /node_modules/, loader: 'babel', query: { "presets": ["es2015", "stage-0", "react"], "plugins": ["transform-decorators-legacy"] }, include: path.join(__dirname, 'src') }, { // json files use the json loader test: /\.json$/, loader: 'json' }, { // any static files are loaded directly as a file test: /\.(ico|gif|png|jpg|jpeg|svg|woff|ttf|eot|webp)$/, loaders: ["file?context=public&name=/[path][name].[ext]"], exclude: /node_modules/ }, { // css fles are loaded using the css loader test: /\.css$/, loader: 'style!css!' } ] }, // in here we specify the configuration for when we require or import specific modules resolve: { // we accept any file that is either as-is, using a .js or .json extension extensions: ['', '.js', '.json'], // these directories are the roots in which we scan for files given modulesDirectories: [ "src", "sass", "public", "node_modules", "config" ], // these shims are needed for bunyan alias: { 'dtrace-provider': path.resolve('empty-shim.js'), 'safe-json-stringify': path.resolve('empty-shim.js'), "mv": path.resolve('empty-shim.js'), 'source-map-support': path.resolve('empty-shim.js') } }, plugins: [ // in the provide plugin we specify which classes will be automatically replaced with requires by webpack // eg: Any reference to React will be replaced with require('react') without any imports required new webpack.ProvidePlugin({ 'React': 'react', '$': 'jquery', 'jQuery' : 'jquery' }) ], node: { fs: 'empty' // we are mocking node's fs module to be empty } };
在我的情况下嘲笑的CSS内容就够了
我使用了identity-obj-proxy,如下所示: https : //facebook.github.io/jest/docs/tutorial-webpack.html
- 在摩卡testing中使用for循环
- 添加限定的XML元素不会inheritance名称空间URI
- 在node.js(Windows)中对IIFE的奇怪观察
- 如何在nodejs javascript中使用nodejs-iconv模块(或其他解决scheme)将字符编码从CP932转换为UTF-8,
- 如何通过meteor来提供HTTP请求
- 在meteor中通过路由器填充模板
- 在webpack编译的JavaScript中读取NodeJS的process.argv
- NodeJS与连接busboy错误,“TypeError:不能调用方法”的未定义“
- 我如何pipe理Node.jsasynchronousvariables作用域?