Javascript 网页包不';一旦它';s通过npm脚本运行
在cli(cmd)中运行以下命令后,一切正常:Javascript 网页包不';一旦它';s通过npm脚本运行,javascript,webpack,webpack-dev-server,Javascript,Webpack,Webpack Dev Server,在cli(cmd)中运行以下命令后,一切正常: SET NODE_ENV=production webpack --config webpack.config.js 如果我通过npm脚本运行它什么都不会发生-既不会输出,也不会出现错误消息。我试图添加——显示错误详细信息,但结果是一样的 请记住,我在Windows上 以下是webpack.config.js: var fs = require('fs'); var path = require('path'); var webpack = re
SET NODE_ENV=production webpack --config webpack.config.js
如果我通过npm脚本运行它什么都不会发生-既不会输出,也不会出现错误消息。我试图添加——显示错误详细信息
,但结果是一样的
请记住,我在Windows上
以下是webpack.config.js:
var fs = require('fs');
var path = require('path');
var webpack = require('webpack');
// Project configuration
var entries = {
'js/application': ['./app/main']
};
var appPath = path.resolve(__dirname, 'app');
var buildPath = path.join(__dirname, 'build');
var modulesPath = path.resolve(__dirname, 'node_modules');
// We'll bundle some more files for dev purposes, hot-loader and stuff
if (process.env.NODE_ENV != 'production') {
entries = {
'js/application': [
'webpack-hot-middleware/client?https://localhost:3000',
'./app/main',
'./app/styles/main.less'
]
};
}
// Webpack configuration
module.exports =
{
devtool: 'source-map',
entry: entries,
output: {
path: buildPath,
filename: '[name].js'
},
resolve: {
root: [modulesPath, appPath],
extensions: ['', '.js', '.jsx']
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin(),
// needed for UIkit
new webpack.ProvidePlugin({ // http://webpack.github.io/docs/shimming-modules.html
$: "jquery",
jQuery: "jquery",
L:"leaflet"
})
],
module: {
noParse: [],
loaders: [
{
test: /\.jsx?$/,
loader: 'babel',
include: appPath
}, {
test: /\.json/,
loader: "json-loader"
}, {
test: /\.less$/,
loader: 'style!css!less'
}, {
test: /\.(eot|woff|woff2|ttf|svg|png|jpg)$/,
loader: 'url-loader?limit=30000&name=[name]-[hash].[ext]'
}
]
}
};
"scripts": {
"build:webpack": "SET NODE_ENV=production webpack --config webpack.config.js"
},
以下是package.json脚本:
var fs = require('fs');
var path = require('path');
var webpack = require('webpack');
// Project configuration
var entries = {
'js/application': ['./app/main']
};
var appPath = path.resolve(__dirname, 'app');
var buildPath = path.join(__dirname, 'build');
var modulesPath = path.resolve(__dirname, 'node_modules');
// We'll bundle some more files for dev purposes, hot-loader and stuff
if (process.env.NODE_ENV != 'production') {
entries = {
'js/application': [
'webpack-hot-middleware/client?https://localhost:3000',
'./app/main',
'./app/styles/main.less'
]
};
}
// Webpack configuration
module.exports =
{
devtool: 'source-map',
entry: entries,
output: {
path: buildPath,
filename: '[name].js'
},
resolve: {
root: [modulesPath, appPath],
extensions: ['', '.js', '.jsx']
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin(),
// needed for UIkit
new webpack.ProvidePlugin({ // http://webpack.github.io/docs/shimming-modules.html
$: "jquery",
jQuery: "jquery",
L:"leaflet"
})
],
module: {
noParse: [],
loaders: [
{
test: /\.jsx?$/,
loader: 'babel',
include: appPath
}, {
test: /\.json/,
loader: "json-loader"
}, {
test: /\.less$/,
loader: 'style!css!less'
}, {
test: /\.(eot|woff|woff2|ttf|svg|png|jpg)$/,
loader: 'url-loader?limit=30000&name=[name]-[hash].[ext]'
}
]
}
};
"scripts": {
"build:webpack": "SET NODE_ENV=production webpack --config webpack.config.js"
},
您是否尝试过npmrunbuild:webpack:您是否尝试过npmrunbuild:webpack:您的npm脚本只是一个命令,您实际运行的是
SET NODE\u ENV={其他一切}
。要使脚本在Windows上运行,您需要更改单行脚本以运行两个命令,例如SET NODE\u ENV=production&&webpack--config webpack.config.js
从以下文件中复制的引用:
使用多个命令和条件处理符号
和[…]命令1和命令2
用于在一个命令行上分隔多个命令。Cmd.exe运行第一个命令,然后运行第二个命令
&&[…]命令1&&command2
仅当符号前面的命令成功时,才使用运行&&后面的命令。Cmd.exe运行第一个命令,然后仅当第一个命令成功完成时才运行第二个命令
npm脚本只是一个命令,实际运行的是
SET NODE_ENV={everything}
。要使脚本在Windows上运行,您需要更改单行脚本以运行两个命令,例如SET NODE\u ENV=production&&webpack--config webpack.config.js
从以下文件中复制的引用:
使用多个命令和条件处理符号
和[…]命令1和命令2
用于在一个命令行上分隔多个命令。Cmd.exe运行第一个命令,然后运行第二个命令
&&[…]命令1&&command2
仅当符号前面的命令成功时,才使用运行&&后面的命令。Cmd.exe运行第一个命令,然后仅当第一个命令成功完成时才运行第二个命令
我在问题中提到,这就是问题所在。通过npm脚本,它不起作用(什么也不会发生)。是的,但您是否在命令行中使用脚本的npm运行名称(不使用大写字母运行)。我在你的问题中看不到这一点。在运行脚本时,您到底键入了什么?如何运行脚本?我在cli中运行它,正如您所提到的:
npm run build:webpack
。好的,您可以尝试以下方法吗?如果您只是在命令行中键入npm,会发生什么。根本没有输出?甚至没有错误信息?我在问题中提到过,这就是问题所在。通过npm脚本,它不起作用(什么也不会发生)。是的,但您是否在命令行中使用脚本的npm运行名称(不使用大写字母运行)。我在你的问题中看不到这一点。在运行脚本时,您到底键入了什么?如何运行脚本?我在cli中运行它,正如您所提到的:npm run build:webpack
。好的,您可以尝试以下方法吗?如果您只是在命令行中键入npm,会发生什么。根本没有输出?甚至没有错误消息?谢谢@Scott。这就是问题所在。现在它开始工作了。顺便说一句,在Unix中,它不需要&&
。谢谢@Scott。这就是问题所在。现在它开始工作了。顺便说一句,在Unix中,它不需要&&
。